package com.example.demo.config;

import jakarta.servlet.MultipartConfigElement;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;

/**
 * @description：文件上传 配置.
 * @author：lw
 * @since：2023/12/27
 **/

@Configuration
public class MultipartConfig {

    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        // 设置单个文件的最大上传大小为 10 MB
        factory.setMaxFileSize(DataSize.parse("10MB"));    // 默认为2mb上限，不满足minio的合并要求
        // 设置总请求体的最大大小为 20 MB
        factory.setMaxRequestSize(DataSize.parse("20MB"));
        return factory.createMultipartConfig();
    }
}